Storage method, playback method, storage apparatus, and playback apparatus

ABSTRACT

A storage method according to one aspect includes: a reception step of receiving a coded stream including a plurality of files that are of a data unit in a predetermined file format; a storage step of storing the received plurality of files of the coded stream in a memory; and a generation step of generating first control information used to play back the stored plurality of files, the first control information correlating the plurality of files. Therefore, the method for storing data in which one coded stream is divided into a plurality of files is provided.

BACKGROUND 1. Technical Field

The present disclosure relates to a storage method, a playback method, astorage apparatus, and a playback apparatus.

2. Description of the Related Art

Conventionally, there is well known a technology of transmitting codeddata in a predetermined transmission format. The coded data is generatedby coding a content including video data and audio data based on a videocoding standard such as HEVC (High Efficiency Video Coding).

Examples of the predetermined transmission format includes MPEG-2 TS(Moving Picture Experts Group-2 Transport Stream) and MMT (MPEG MediaTransport) (for example, see NPTL 1). For example, NPTL 1 discloses atechnology of transmitting coded media data in each packet in conformitywith the MMT.

On the other hand, the storage method and apparatus for receiving andstoring the data in which one stream is divided into a plurality offiles like the MMT system and the playback method and apparatus forplaying back the stored data are not taken into consideration.

CITATION LIST Non-Patent Literature

NPTL 1: Information technology—High efficiency coding and media deliveryin heterogeneous environments—Part 1: MPEG media transport (MMT),ISO/IEC FDIS23008-1

SUMMARY

In one general aspect, the techniques disclosed here feature a storagemethod including a reception step of receiving a coded stream includinga plurality of files that are of a data unit in a predetermined fileformat, a storage step of storing the received plurality of files of thecoded stream in a memory, and a generation step of generating firstcontrol information used to play back the stored plurality of files, thefirst control information correlating the plurality of files with eachother.

Additional benefits and advantages of the disclosed embodiments willbecome apparent from the specification and drawings. The benefits and/oradvantages may be individually obtained by the various embodiments andfeatures of the specification and drawings, which need not all beprovided in order to obtain one or more of such benefits and/oradvantages.

It should be noted that general or specific embodiments may beimplemented as a system, a method, an integrated circuit, a computerprogram, a memory medium, or any selective combination thereof.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a view illustrating a data structure of a coded stream in theMMT.

FIG. 2 is a view illustrating a data structure of a coded stream in theMMT;

FIG. 3 is a block diagram illustrating a configuration of a storageapparatus according to an exemplary embodiment;

FIG. 4 is a flowchart illustrating a storage method according to anexemplary embodiment;

FIG. 5 is a view illustrating data which is coded using an MMT systemand data in which an MPU is obtained from an MMT packet in each piece ofmedia;

FIG. 6 is a view illustrating a configuration of media file A21 that isconstructed by storing a file of media A (video);

FIG. 7 is a view illustrating a specific example in which, based on areceived file and second control information, a file is stored andcontrol information is generated;

FIG. 8 is a view illustrating an example of a random access table;

FIG. 9 is a block diagram illustrating a configuration of a playbackapparatus according to an exemplary embodiment;

FIG. 10 is a flowchart illustrating a playback method according to anexemplary embodiment; and

FIG. 11 is a view illustrating data in a media file when the data isrearranged in the media file.

DESCRIPTION OF EMBODIMENT Underlying Knowledge Forming Basis of thePresent Disclosure

The present disclosure relates to storage method and apparatus forreceiving and data transmitted by the MMT system which is currentlystandardized in MPEG, and storing the received data and playback methodand apparatus for playing back the stored data. The MMT system is amultiplexing system, in which video and audio are packetized whilemultiplexed, and transmitted through at least one transmission passagesuch as broadcasting and communication.

In a conventional system in which the MPEG-2 TS system is used as themultiplexing system, there is a method for directly storing a TS packet.However, a method for receiving and storing the data packetized by theMMT system or a method for playing back the stored data isinsufficiently considered in the conventional system.

An MPU (Media Processing Unit) generated by the MMT system is data inwhich the video and audio are divided into proper sizes in each piece ofmedia and stored in an MP4 format.

For a conventional MP4 file, video and audio tracks are stored in oneMP4 file, and information indicating a relationship between the tracksis stored in a header of the MP4. On the other hand, the MPU is an MP4file in which a program is segmented in each piece of media, butinformation indicating a relationship between the media does not existin the MPU. Therefore, the associated video and audio cannotsimultaneously be played back.

When the MPU is stored as a plurality of MP4 files, the number of filesincreases, and access to the file becomes troublesome during filemanagement or playback, which results in a problem in that throughputnecessary for playback processing increases.

In order to solve the problem, a storage method according to one aspectof the present disclosure includes a reception step of receiving a codedstream including a plurality of files that are of a data unit in apredetermined file format, a storage step of storing the receivedplurality of files of the coded stream in a memory, and a generationstep of generating first control information used to play back thestored plurality of files, the first control information correlating theplurality of files.

Therefore, even in the data stored as the plurality of files, theplurality of files are stored while correlated with each other, so thatthe throughput associated with the playback processing can be reduced.

For example, the coded stream may include second control information,and, in the generation step, information indicating order of playingback the plurality of files may be generated as the first controlinformation by analyzing the second information.

For example, the plurality of files may include a first file belongingto first media and a second file belonging to second media, and, in thegeneration step, information correlating the first file and the secondfile may be generated as the first control information by analyzing thesecond control information.

For example, each of the plurality of files may be a randomly accessiblefile having a random access unit, and, in the generation step, clocktime information indicating a playback start clock time of each of theplurality of files may be generated as the first control information byanalyzing the second control information.

For example, in the generation step, the information correlating thefirst file and the second file may be generated as the first controlinformation, the first file and the second file being identical to eachother in the playback start clock time.

For example, in the generation step, information indicating recordingpositions in the memory of the plurality of files may be generated asthe first control information when the plurality of files are stored inthe memory in the storage step.

A playback method according to another aspect of the present disclosurefor playing back a plurality of files stored in a memory, the pluralityof files being a data unit in a predetermined file format, the playbackmethod includes: a first obtaining step of acquiring control informationused to play back the plurality of files, the control informationcorrelating the plurality of files; an analysis step of analyzing theobtained control information; a second obtaining step of acquiring apredetermined file in the plurality of files from the memory accordingto a result of the analysis step; and a playback step of playing backthe obtained predetermined file.

These overall or specific aspects may be implemented by a storageapparatus, a playback apparatus, an integrated circuit, a computerprogram, and a recording medium such as a computer-readable CD-ROM, orimplemented by any combination of the storage apparatus, the playbackapparatus, the integrated circuit, the computer program, and therecording medium.

Hereinafter, a transmission method and a reception method according toan exemplary embodiment of the present disclosure will specifically bedescribed with reference to the drawings.

The following exemplary embodiment illustrates a specific example of thepresent disclosure. The following numerical value, shape, material,component, disposition and connection form of the component, step, andstep sequence indicated in the exemplary embodiment are described onlyby way of example, but not limit the present disclosure. In thefollowing components of the exemplary embodiment, the component that isnot described in an independent claim indicating a highest concept isdescribed as an arbitrary component.

Exemplary Embodiment

Hereinafter, a storage method (storage apparatus) and a playback method(playback apparatus) according to an exemplary embodiment will bedescribed with reference to the drawings. By way of example, a storagemethod for storing coded data received in conformity with the MMT and aplayback method for playing back the stored coded data are described inthe exemplary embodiment.

A data structure of a coded stream in the MMT will be described below.FIGS. 1 and 2 are views illustrating the data structure of the codedstream in the MMT.

As illustrated in FIG. 1, the coded data is constructed with a pluralityof access units (AUs). For example, the coded data is AV data that iscoded based on a video coding standard such as HEVC. Specifically, thecoded data includes video data, audio data, and captions, charactersuper, metadata, a still image, and a file associated therewith. In thecase where the coded data is the video data, one AU is a unitcorresponding to one picture (one frame).

In the MMT, the coded data is converted into the MP4 data (an MP4 headeris provided) in a GOP (Group Of Picture) unit according to an MP4 fileformat (ISO-based media data format). That is, the coded data includes aplurality of sets (GOP) each of which is constructed with the pluralityof access units. The GOP is a random access point in the coded data, andthe leading access unit corresponds to an IDR picture of HEVC or AVC ora non-IDR I picture in decoding order in the GOP.

A relative value of a presentation clock time (the PTS) or a decodingclock time (the DTS) of the access unit is described in the MP4 headerincluded in the MP4 data. A sequence number of the MP4 data is describedin the MP4 header. The MP4 data (MP4 file) is an example of the MPU thatis of a data unit defined in the MMT standard. In the MPU, the MP4header is not transmitted, but only sample data in the MPU may betransmitted. In this case, the MPU corresponds to a random access unit,and a sample constituting the MPU and the MPU are correlated with eachother. The random access point that is of a leading access unit of therandom access unit is disposed at a head in the MPU. The MPU may beconstructed with a plurality of GOPs. The MPU is a set of access unitsof video or audio single media, and encapsulated in the MP4 file formatin each piece of media. As used herein, “media” means a kind of acontent such as video, audio, and captions.

As illustrated in FIG. 2, coded stream 10 in the MMT includes signalinginformation 11 and a plurality of MMT packets 12. In other words, codedstream 10 is a packet string of MMT packets 12.

Coded stream 10 (MMT stream) is a at least one of a stream constitutingone MMT package. For example, the MMT package corresponds to onebroadcasting program content.

For example, signaling information 11 includes information indicating acorrespondence relation between a plurality of assets and a packet ID.The asset is a data entity including data of an identical transportcharacteristic. For example, the asset is one of the video data and theaudio data.

Specifically, for example, signaling information 11 is CI (CompositionInformation) and an MPT (MMT Package Table) in the MMT. Signalinginformation 11 is a PMT (Program Map Table) or a PAT (ProgramAssociation Table) in MPEG2-TS, and is an MPD (Media PresentationDescription) in MPEG-DASH.

The clock time information may be included in signaling information 11.The clock time information is one used to decide the PTS or DTS of theaccess unit. Specifically, for example, the clock time information isthe PTS or DTS that is of an absolute clock time of the leading accessunit in the MPU. More specifically, the clock time information canindicate the absolute value of the PTS of the leading access unit inpresentation order in the MPU for the PTS, and indicate the absolutevalue of the DTS of the leading access unit in decoding order in the MPUfor the DTS. The clock time information needs not to be stored insignaling information 11.

For example, assuming that the plurality of pictures constitute one set,the leading access unit initially decoded in the decoding order of theset is decoded at the clock time indicated by the DTS. At this point,the clock time information indicating the clock time (DTS) based on areference clock may be stored as the clock time information on codedstream 10, the leading access unit of the set being decoded at the clocktime (DTS).

The reference clock means an NTP (Network Time Protocol) in the casewhere the coded stream is transmitted by the MMT system, and means a PCR(Program Clock Reference) in the case where the coded stream istransmitted by the MPEG2-TS system. The NTP may be the reference clockset by a transmission apparatus, but the NPT is not necessarily matchedwith an NTP value of an NTP server generally used in the Internet.

MMT packet 12 is data in which the MP4 data is packetized. In theexemplary embodiment, one MMT packet 12 includes one piece of MP4 data(MPU). As illustrated in FIG. 2, MMT packet 12 includes header 12 a (MTTpacket header (corresponds to a TS packet header for MPEG2-TS)) andpayload 12 b.

The MP4 data is stored in payload 12 b. Sometimes the divided MP4 datais stored in payload 12 b.

Header 12 a is attached information on payload 12 b. For example, header12 a includes the packet ID and the clock time information. The clocktime information is a relative value of a presentation clock time (PTS)or a decoding clock time (DTS) of the MP4 data.

The packet ID is an identification number indicating the asset of thedata included in MMT packet 12 (payload 12 b). The packet ID is anindividual identification number of each asset constituting the MMTpackage.

Thus, the coded stream includes the clock time information (DTS or PTS)indicating the clock time at which the processing of decoding orpresenting the coded data is performed, and the coded data (ID1_#0,ID2_#0, ID1_#1, ID1_#2, ID2_#1, ID2_#2, . . . in FIG. 2).

Storage Method

FIG. 3 is a block diagram illustrating a configuration of a storageapparatus according to an exemplary embodiment. FIG. 4 is a flowchartillustrating a storage method according to an exemplary embodiment.

As illustrated in FIG. 3, storage apparatus 100 includes receiver 110,storage unit 120, generator 130, and memory 140. Specifically, thecomponents of storage apparatus 100 are constructed with amicrocomputer, a processor, or a dedicated circuit. Memory 140 needs notto be included in storage apparatus 100, but memory 140 may be separatedfrom storage apparatus 100.

In the storage method of the exemplary embodiment, as illustrated inFIG. 4, receiver 110 of storage apparatus 100 receives the coded streamincluding a plurality of files that is of a data unit of a predeterminedfile format (S11: reception step).

Then, storage unit 120 of the storage apparatus stores the plurality offiles received in the coded stream in memory 140 (S12: storage step).Specifically, the data units (that is, the MP4 file) in the plurality ofMP4 file formats are obtained from the reception packet constitutingreceived coded stream 10.

Then, generator 130 of the storage apparatus generates the first controlinformation, which is used to play back the stored plurality of MP4files and correlates the plurality of MP4 files (S13: generation step).The following three pieces of control information are included in thefirst control information generated in Step S13.

The three kinds of pieces of control information include information(later-described control file A31) indicating recording positions of theplurality of MP4 files in memory 140, program information(later-described control file B32), and information (control file C33)indicating a random access table. That is, Step S13 includes a step ofgenerating control file A31, a step of generating control file B32, anda step of generating control file C33.

For example, in the generation step, the information indicating theorder of playing back the plurality of MP4 files may be generated as thefirst control information by analyzing the signaling information (secondcontrol information).

For example, in the generation step, information correlating the firstfile having the video media and the second file having the audio mediamay be generated as the first control information by analyzing thesignaling information. More specifically, each of the plurality of MP4files may be a randomly accessible file having a random access unit,and, in the generation step, clock time information indicating aplayback start clock time of each of the plurality of MP4 files may begenerated as the first control information (control file B32) byanalyzing the signaling information. In the generation step, theinformation correlating the first file and the second file may begenerated as the first control information (control file C33), the firstfile and the second file being identical to each other in the playbackstart clock time.

In the generation step, information indicating recording positions inmemory 140 of the plurality of MP4 files may be generated as the firstcontrol information (control file A31) when the plurality of MP4 filesare stored in memory 140 in the storage step.

The control information generated in Step S13 is stored in memory 140together with the plurality of MP4 files, and the storage is ended whenthe reception of the coded stream for a predetermined time is ended.

The first control information and the second control information aredifferent from each other. The first control information is one that isused to play back the stored plurality of MP4 files. The second controlinformation is one that is used to play back the coded stream in realtime when the coded stream is received. That is, for example, the firstcontrol information is one that is used to recorded (store) broadcastcontent and to play back the recorded content. For example, the secondcontrol information is one that is used to play back the contentreceived in real time by the broadcasting or communication.

Each detailed step of the storage method will specifically be describedwith reference to the drawings.

FIG. 5 is a view illustrating data which is coded using an MMT systemand data in which an MPU is obtained from an MMT packet in each piece ofmedia. FIG. 6 is a view illustrating a configuration of media file A21that is constructed by storing a file of media A (video).

In received coded stream 10, MMT packet 12 is filtered using a packetID. After header 12 a such as an MMT packet header and a payload headerare removed, filtered MMT packet 12 becomes the plurality of MP4 filesin each piece of media. An identifier of each piece of media and thesequence number of the MP4 file constituting the identical media aredescribed in the header of the MP4 file.

A plurality of kinds of signaling information are received separatelyfrom the MP4 file. For example, a table indicating the relationshipbetween the media, the playback time of the MP4 leading access unit, andinformation on activation of an application are included in thesignaling information, and the signaling information is received once orrepeatedly received.

FIG. 7 is a view illustrating a specific example in which, based on thereceived file and second control information, the file is stored and thecontrol information is generated.

In the storage method of the exemplary embodiment, the obtained MP4 fileis directly stored in the file in each piece of media. At the same time,the control information indicating the relationship between the mediaand information necessary for the playback of other programs aregenerated as the control files A31 to C33 (first control information).In playing back the program, MP4 of the file is analyzed in each pieceof media while the control information is referred to, and the video andaudio are played back.

Operation to transmit one program through a single transmission passageusing the MMT system and to receive and store the program using areceiving apparatus will be described by way of example. It is assumedthat the program is constructed with media A and media B, and that theinformation (the information indicating the relationship between themedia) constituting the program is stored in the signaling information.

The MP4 file obtained in the reception step is stored in memory 140 bystoring the MP4 file in the media file in each piece of media. Forexample, the MP4 files of M media A having sequence numbers #1 to #M aresequentially stored in media file A21, and the MP4 files of N media Bhaving sequence numbers #1 to #N are sequentially stored in media fileB22.

A previously-fixed file name in which the media can be specified may beset in the media file. An identifier identifying a kind of the media ofthe file stored in the media file may be stored in the media file. Forexample, an asset ID provided to each of the plurality of media by theMMT method or an identifier corresponding to the asset ID may be used asthe identifier identifying a kind of the media. In the case where theidentifier is stored in the media file, an MP4 box is newly provided andthe identifier may be stored in the MP4 box.

In the generation step, when the MP4 file is stored in the media file,information for specifying a position of the MP4 file is generated ineach MP4 file, and the MP4 file is stored in the control file (controlfile A31 in FIG. 7). For example, the position specifying informationspecifying the position recorded in each MP4 file is indicated by anoffset amount of the number of bytes from the head of the media file toa leading byte of the MP4 file having each sequence number with respectto the media identifier. In the case where the MMT system is used, theposition specifying information indicates a recording position of theMP4 file with respect to the asset ID.

In the reception step, the signaling information in which theinformation on the media constituting the program is described isreceived, and the obtained signaling information is stored in thecontrol file (for example, control file B32 in FIG. 2). The file name ofthe media file in which the MP4 file of the media constituting theprogram is stored is stored in the signaling information. The signalinginformation includes signaling information transmitted only once,signaling information repeatedly transmitted, and signaling informationthat is transmitted while divided into plurality of pieces. In thegeneration step, in each case, the information necessary to the playbackof the program is obtained (generated) from the signaling information,and stored in the file.

In the generation step, a random access table may be produced such thatthe random access can be performed during the playback. The randomaccess table is a list of the randomly accessible points. For example,the random access table indicates the MP4 sequence number correspondingto the random access point in each of media A and media B.

FIG. 8 is a view illustrating an example of the random access table.

In the case where media A is the video while media B is the audio, therandom access table is a table in which the MP4 sequence number of thevideo MP4 file and the MP4 sequence number of the audio MP4 file that isaccessed at the same time as the random access point of the video MP4file are correlated with each other.

Specifically, the random access table is generated in the followingprocedure. The random access point of the video MP4 file is generatedbased on the clock time information in the case where the clock timeinformation on the leading access unit of the video MP4 file istransmitted as the signaling information. The MP4 sequence number of theaudio MP4 file of the clock time information at the same clock time asthe generated random access point of the video MP4 file is searched, thesearched MP4 sequence number of the audio MP4 file and the MP4 sequencenumber of the video MP4 file used in the search are correlated with eachother to generate the random access table. That is, in the generationstep, the generated random access table is stored in the control file(for example, control file C33 in FIG. 7).

The random access table is not necessarily the list of all the randomlyaccessible points, but the random access table may be constructed withrandom access points at constant intervals (that is, some of the randomaccess points are thinned out such that the constant interval isobtained) at constant intervals.

In the random access table, the clock time information corresponding toeach random access point may further be correlated. In this case, theclock time information is a relative time from the leading clock time(program playback start clock time) of the media. More specifically, theclock time information is a relative clock time of the MP4 filecalculated from the leading clock time of the media in the case wherethe clock time information on the leading access unit of the MP4 file isa time stamp provided based on the NTP or STC.

In the case where the storage is started from a half way of the program,the relative clock time corresponding to each of the plurality of MP4files is calculated based on the clock time of the storage start data,and is stored in the random access table. The clock time information maybe generated based on the time stamp described in the MP4 file header.

In the case where layout information or application information issignaled, the signaling information may be stored in the file.

In the case where the time stamp is provided to the signalinginformation, the leading clock time of the media may be stored togetherwith the signaling information while converted into the relative clocktime.

In the generation step, event information such as the layout informationand the application activation information may be stored in the programinformation or the random access table. In this case, the presentationmay be performed based on the time stamp information during theplayback.

Even if the time interval of the audio MP4 file is not matched with thetime interval (GOP unit) of the video MP4 file, the audio MP4 sequencenumber corresponding to the video random access point is searched togenerate the random access table. Therefore, during the playback, therandom access can easily be performed to the video MP4 file and theaudio MP4 file that should be played back at the same time as the videoMP4 file.

In the case where the plurality of random access points exist in thevideo MP4 file, the number of random access points included in the MP4file may be transmitted while stored in the header information. In thiscase, in the random access table, each of the plurality of random accesspoints of the video MP4 file is correlated with the MP4 sequence numberof the audio MP4 file. In the random access table, the audio MP4 file isfurther correlated with information indicating the order of theplurality of random access points of the video MP4 file.

Playback Method

A playback method for playing back the plurality of MP4 files stored inmemory 140 will be described below.

FIG. 9 is a block diagram illustrating a configuration of a playbackapparatus according to an exemplary embodiment. FIG. 10 is a flowchartillustrating a playback method according to an exemplary embodiment.

As illustrated in FIG. 9, playback apparatus 200 includes firstobtaining unit 210, analyzer 220, second obtaining unit 230, andplayback unit 240. Specifically, the components of playback apparatus200 are constructed with a microcomputer, a processor, or a dedicatedcircuit.

Playback apparatus 200 determines whether the target file to be playedback is a file (media file) including the plurality of MP4 files or oneMP4 file (S21).

When the target file is determined to be the media file (media file inS21), first obtaining unit 210 of playback apparatus 200 obtains firstcontrol information, which is used to play back the plurality of MP4files and correlates the plurality of MP4 files (S22: first obtainingstep). Specifically, first obtaining unit 210 obtains first controlinformation stored in memory 140.

Then, in Steps S23 to S25 subsequent to Step S22, analyzer 220 ofplayback apparatus 200 analyzes the first control information obtainedin Step S22 (analysis step).

More specifically, analyzer 220 includes program information analyzer221, random access table analyzer 222, and recording position analyzer223, and analyzers 221 to 223 perform pieces of processing in Steps S23to S25, respectively.

Program information analyzer 221 analyzes control file B32 in the firstcontrol information to specify the media file constituting the program(S23).

Random access table analyzer 222 analyzes control file C33 in the firstcontrol information to obtain the MP4 sequence number at the randomaccess point in each media (S24).

Recording position analyzer 223 analyzes control file A31 in the firstcontrol information, and obtains the position information indicating therecording position of the MP4 file stored in memory 140, the positioninformation being correlated with the MP4 sequence number of the MP4file obtained in Step S24 (S25).

Then, second obtaining unit 230 obtains a predetermined MP4 file in theplurality of MP4 files stored in memory 140 according to a result (theposition information on the MP4 file) of the analysis step (S26: secondobtaining step).

Then, playback unit 240 of playback apparatus 200 plays back theobtained MP4 file (S27: playback step). More specifically, playback unit240 includes MP4 file analyzer 241 and media decoding and presentationunit 242. In Step S27, MP4 file analyzer 241 sequentially analyzes theplurality of MP4 files in each piece of media. Media decoding andpresentation unit 242 decodes and presents the plurality of MP4 filesbased on the time stamp information analyzed by MP4 file analyzer 241,thereby performing the playback.

On the other hand, when the target file is determined to be one MP4 file(MP4 file in S21), the MP4 file is analyzed, and the decoding and thepresentation are performed based on the MP4 time stamp information,thereby playing back the MP4 file (S28). Step S21 needs not to beperformed. Step S28 needs not to be performed.

Features

In the storage method and playback method of the exemplary embodiment,the program coded by the MMT system can be stored and played back.

In the storage method of the exemplary embodiment, the receivedplurality of MP4 files can collectively be stored in the file withoutchanging the configuration of the MP4 file.

In the storage method of the exemplary embodiment, the controlinformation such as the program information is generated and stored,which allows the playback of the stored plurality of MP4 files.

In the storage method of the exemplary embodiment, the random accessplayback can easily be performed by generating the random access table.

In the storage method of the exemplary embodiment, the layoutinformation and the application activation information can be presentedduring the playback.

Modifications

The above storage method is described by way of example, and the presentdisclosure is not limited to the storage method of the exemplaryembodiment.

The first control information may be stored in the plurality of files ineach function, or the pieces of control information having at least twofunctions may collectively be stored in one file. The controlinformation on the single media may be stored in the media file togetherwith the media.

The media file and the control file may be specified by thepreviously-fixed file name. In the media file and the control file, anidentifier identifying the content of the media or control informationstored in the file may be stored in the file.

In the playback method, the control file in which the programinformation is stored is used as the entry point. Alternatively, a fileconstituting the entry point is separately defined, and the control filein which the program information is stored may be assigned to the entrypoint file.

The offset amount indicating the recording position of the MP4 file isindicated by the number of bytes. Alternatively, for example, apredetermined data unit is defined, and the offset amount may beindicated by an index number of the data unit. The recording position ofthe MP4 file may be the offset amount from the leading byte of the mediafile to the leading byte of the MP4 file. The recording position of theMP4 file may be difference information on the recording position betweenthe leading bytes before and after the MP4 files.

The data coded by the MMT system is described above by way of example.Additionally, the storage and the playback can also be performed usingthe method of the exemplary embodiment in the case where the programconstructed with the segmented plurality of MP4 files using theMPEG-DASH system or the like is stored. The storage and the playback canalso be performed using the method of the exemplary embodiment in thecase where the MP4 file coded by the MMT system or MPEG-DASH system istransmitted in an MPU or GFD mode in the protocol of the MMT system orother protocols such as FLUTE.

The arrangement of the pieces of data (MP4 file) in the media file maybe changed after the plurality of MP4 files are stored in the media filein the reception order. In the case where the pieces of data in themedia file are rearranged, the first control information or the MP4 fileheader is properly corrected in association with the rearrangement,information indicating that the rearrangement is already performed isstored in the media file or another control file different from themedia file. The pieces of data in the media file need not to berearranged after the storage, the pieces of data is temporarily storedin a memory during the reception of the plurality of MP4 files, and thestorage may be performed while the rearrangement is performed.

For example, the rearrangement may be performed such that headerportions of the plurality of MP4 files are collected in a first halfportion of the file, and such that data portions of the plurality of MP4files are collected in a second half portion of the file. As illustratedin FIG. 11, in the case where the header information common to theplurality of MP4 files or the header information (such as ‘ftyp’ and‘mmpu’ box) unnecessary for the storage and the presentation exists, theoverlapping header information may be deleted. FIG. 11 is a viewillustrating the data in the media file when the data is rearranged inthe media file. FIG. 11(a) is a view illustrating a configuration of thedata in the media file before the data is rearranged. FIG. 11(b) is aview illustrating a configuration of the data in the media file afterthe data is rearranged.

For example, in the case where the MP4 files differ from each other ininitialization information, it is necessary to correct the header. Thatis, in the case where the initialization information on the Nth MP4 filediffers from the initialization information on the first MP4 file bycomparing the initialization information on the Nth MP4 file to theinitialization information on the first MP4 file, the initializationinformation on the Nth MP4 file is added to the initializationinformation on the first MP4 file, and a reference destination in ‘moof’of the Nth MP4 file may be changed such that the initializationinformation added to the initialization information on the first MP4file can be referred to when the processing is performed on the Nth MP4file.

The MP4 files of the plurality of media may be stored in one media file.For example, the video MP4 file and the audio MP4 file may alternatelybe stored in a random access unit.

For the long playback time, the media file may be stored while dividedinto the plurality of files. In this case, the divided file of the audiofile may be divided according to a divided time interval of the videofile.

In the case where the storage is performed by receiving the MP4 filetransmitted through a plurality of transmission passages, the storage isperformed in asynchronization with a delay time between the transmissionpassages, and such synchronization processing that the post-storage MP4files are rearranged based on the MP4 sequence number may be performed.

The plurality of MP4 files is previously stored in a transmission serverin the media file or control file form of the exemplary embodiment, anda receiving apparatus (storage apparatus 100) may download the file fromthe transmission server through a broadcasting transmission passage or acommunication transmission passage, and store the file.

The MP4 file obtained by the download through the broadcastingtransmission passage or the communication transmission passage and theMP4 file obtained by streaming are stored, and MP4 files may berearranged after the storage.

In the case where the MP4 file including the scalable coded data isstored, even if an extension layer differs from a basic layer in themedia ID, the MP4 files in the extension layer and the basic layer maybe stored in one media file, or stored in different media files in eachlayer. In the case where the MP4 files in the basic layer and theextension layer are stored in one media file, the corresponding MP4files of the basic layer and the extension layer may alternately bestored. The media only in the basic layer may be stored. The data thatthe media file is scalable coded data and the identifier enabling theidentification of a hierarchy level are stored in the control file inwhich the program information is described.

In the case where the received plurality of MP4 files are stored, anidentifier or a flag indicating a state of the stored media may beprovided to the stored media file. For example, an identifier or a flagindicating whether the stored media become complete may be provided tothe stored media in the media file or the control file. The flag isstored in the media file or the control file. For example, whether thestored media become complete can be determined from the identifier ofthe media or the sequence number of the media. For example, the sequencenumber of the media is the MPU sequence number indicating the order ofthe MPU in the asset, the sequence number indicating the order of thepacket in the asset, the sequence number indicating the order of the MMTpacket, or the sequence number of the fragmented payload, and thesequence number of the media is indicated by the data unit or the headerof the MMT packet or MMT payload. Therefore, the flag can be providedaccording to a determination result. An identifier or a flag indicatingthat the stored media have no error may be provided. In the case wherean error exists in the MP4 file of a part of the stored media, or in thecase where the MP4 file that cannot be obtained due to a packet lossexists, only the specific MP4 file may be download from a server andstored, or the whole media file may be downloaded to complement themedia.

An identifier or a flag indicating that the stored media arerearrangeable or the rearrangement of the stored media is completed maybe provided. An identifier or a flag indicating that the stored mediacan be played back and viewed may be provided.

For example the determination of the rearrangeable state can be made inthe case where the media have no error or become complete. For theprogram in which the rearrangement is required, the determination thatthe stored media can be played back and viewed may be made only in thecase where the rearrangement is completed.

A content producer may transmit conditions of the storage,rearrangement, and playback and viewing of the program or the signalinginformation on the permissible storage format, use the conditions or thesignaling information together with the identifier or flag indicatingthe storage state, thereby assigning or limiting the operation of thestorage content.

The content producer may previously provide an individual ID that canuniquely assign the program or the media, and the individual ID may beused on the reception side together with the program or the media. Forexample, the stored program can be played back by assigning theindividual ID from the data broadcasting, WEB content, or application.

For example, in the case where the program is constructed with media Atransmitted through the broadcasting and stored media B, a storageapparatus is indicated as transmission passage information (locationinformation) on media B and the individual ID is assigned as the mediaID in the program information. In the case where the storage apparatusis indicated as the location information in the receiving apparatus, theindividual ID of the media is searched from the program information inthe previously-registered storage apparatus, and played back whilesynchronized with media A transmitted through the broadcasting.

The plurality of MP4 files may be converted into one MP4 file afteranalyzed to reconstruct one elementary stream. The plurality of mediaare stored in the MP4 file as a plurality of tracks. The random accesstable, the program information, and the control information indicatingthe recording position may be generated based on the analysis result ofthe MP4 header.

The MMT packet can directly be stored. In the case where the MMT packetis directly stored, the time stamp indicating an arrival clock time ofthe MMT packet is provided during the storage. The time stamp may beprovided before the MMT packet header, or stored in the MMT packetheader (for example, an NTP time stamp area). In the case where the MMTpackets transmitted through the plurality of transmission passages arerearranged in the sequence order, the time stamp is provided after therearrangement. In the case where the unnecessary header informationexists in the MMT packet header, the MMT payload header, the MFU header,and the like, the storage may be performed after the unnecessary headeris deleted. In the case where the header is deleted, informationindicating that the header is deleted is stored. The stored data isplayed back based on the time stamp. Program information or a randomaccess table may be generated.

The MMT system can perform the storage in the plurality of storageformats (the MMT packet and the MP4 file format), and the storage methodmay be selected from the plurality of storage methods. The storage maybe performed using the plurality of storage methods.

Each of the storage methods has the feature of a storage data amount, adata configuration, playback throughput, and the like. A user may selectthe storage method in the plurality of selection methods. The receivingapparatus may automatically select the storage method according toplayback use. For example, a method for directly storing the directlytransferable MMT packet is selected in the case where the stored programis transferred to another device.

The transmission side may transmit the signaling information assigningthe storage format and the storage method, and the receiving apparatusmay perform the storage by the assigned storage format and storagemethod.

Others

The method for storing the pieces of data transmitted using the MMTsystem is described above by way of example. Alternatively, the mediaconstituting one program can be received through the plurality oftransmission passages by the different multiplexing systems or formats,and stored. In this case, an identifier being able to identify themultiplexing system or multiplexing format is stored in the control fileincluding the program information.

In the random access table, the identifier that can identify therandomly accessible point by each multiplexing system is indicated withrespect to a certain random access point. For example, in the case wherethe program is constructed with the MP4 file (MPU) packetized by the MMTsystem and the MP4 file (segment) packetized by the DASH system, a tableindicating the MPU sequence number and the segment sequence number isproduced with respect to a certain random access point. The randomaccess table may previously be generated on the transmission side andtransmitted through the broadcasting or communication, or the randomaccess table may be produced while the post-reception data is analyzed.

In the case where the media are transmitted through the plurality oftransmission passages using the different multiplexing systems in eachpiece of media, the time necessary for the division of the media may beequalized. The media are transmitted while the divided time isequalized, which allows the random access point to be easily produced.

The format may be converted into one of the formats after the storage.The transmission side may assign the format used to perform the storage.

In each exemplary embodiment, each component may be constructed withdedicated hardware, or made by executing a software program suitable foreach component. Each component may be made such that a program executionpart such as a CPU and a processor reads and executes the softwareprogram recorded in a hard disk or a recording medium such as asemiconductor memory. Software implementing the transmission apparatusand reception apparatus of the exemplary embodiment is as follows.

That is, the program causes a computer to perform a storage methodincluding a reception step of receiving a coded stream including aplurality of files that are of a data unit in a predetermined fileformat, a storage step of storing the received plurality of files of thecoded stream in a memory, and a generation step of generating firstcontrol information used to play back the stored plurality of files, thefirst control information correlating the plurality of files.

The program may cause the computer to perform a playback method forplaying back a plurality of files stored in a memory, the plurality offiles being a data unit in a predetermined file format, the playbackmethod including a first obtaining step of acquiring control informationused to play back the plurality of files, the control informationcorrelating the plurality of files, an analysis step of analyzing theobtained control information, a second obtaining step of acquiring apredetermined file in the plurality of files from the memory accordingto a result of the analysis step, and a playback step of playing backthe obtained predetermined file.

In the exemplary embodiment, the processing performed by a specificprocessor may be performed by another processor. The sequence of theplurality of pieces of processing may be changed, or the plurality ofpieces of processing may concurrently be performed.

The comprehensive or specific aspect of the present disclosure may beimplemented by a system, a method, an integrated circuit, a computerprogram, or a recording medium such as a computer-readable CD-ROM. Thecomprehensive or specific aspect of the present disclosure may beimplemented by any combination of the system, the method, the integratedcircuit, the computer program, and the recording medium.

Although the transmission method and reception method of the exemplaryembodiment of the present disclosure are described above, the presentdisclosure is not limited to the exemplary embodiment. Variousmodifications of the exemplary embodiment conceived by those skilled inthe art and the combinations of the components of the differentexemplary embodiments may also be included in the present disclosure aslong as the modifications and combinations do not depart from thepresent disclosure.

The present disclosure is useful for the storage method and storageapparatus for being able to store the received coded data and theplayback method and playback apparatus for being able to play back thestored coded data.

What is claimed is:
 1. A storage method executed by a storage apparatusincluding a memory storing a program and a processor, the processorexecuting the program to perform operations of the storage methodcomprising: receiving in conformity with MPEG Media Transport, MMT, acoded stream including a plurality of MP4 files that are of a mediaprocessing unit, MPU, received in conformity with MMT standard and eachof the plurality of MP4 files is a random accessible file having arandom access unit with a random access point, wherein the plurality ofMP4 files include a plurality of MP4 files of a first media and aplurality of MP4 files of a second media, and the coded stream furtherincludes second control information, the second control informationincluding a playback time corresponding to the random access point ofthe plurality of MP4 files of the first media and the plurality of MP4files of the second media; accumulating and storing the receivedplurality of MP4 files of the coded stream in a memory; and generating,by analyzing the second control information, first control informationused to play back the stored plurality of MP4 files when the pluralityof MP4 files are stored in the memory, the first control informationcorrelating the plurality of MP4 files of the first media and theplurality of MP4 files of the second media according to the playbacktime, and the first control information including a playback order,playback start times and information indicating recording positions inthe memory of the plurality of MP4 files stored in the memory.
 2. Thestorage method according to claim 1, wherein in the generating,information indicating order of playing back the plurality of MP4 filesis generated as the first control information.
 3. The storage methodaccording to claim 2, wherein in the generating, time informationindicating the playback start time of each of the plurality of MP4 filesis generated as the first control information.
 4. The storage methodaccording to claim 3, wherein, in the generating, the informationcorrelating the plurality of MP4 files of the first media pertaining toa first MP4 file and the plurality of MP4 files of the second mediapertaining to a second MP4 file is generated as the first controlinformation, the first MP4 file and the second MP4 file being identicalto each other in the playback start time.
 5. A playback method executedby a playback apparatus including a memory storing a program and aprocessor, the processor executing the program to perform operations ofthe playback method for playing back a plurality of MP4 files stored inthe memory, the playback method comprising: obtaining first controlinformation used to play back the plurality of MP4 files, the firstcontrol information correlating, out of the plurality of MP4 files, aplurality of MP4 files of a first media and a plurality of MP4 files ofa second media according to a playback time corresponding to a randomaccess point of the plurality of MP4 files of the first media and theplurality of MP4 files of the second media, the first controlinformation including a playback order, playback start times andinformation indicating recording positions in the memory of theplurality of MP4 files when the plurality of MP4 files are stored in thememory; analyzing the obtained first control information; obtaining apredetermined MP4 file in the plurality of MP4 files from the memoryaccording to a result of the analyzing; and playing back the obtainedpredetermined MP4 file, wherein the plurality of MP4 files are a mediaprocessing unit, MPU, received in conformity with MMT standard, each ofthe plurality of MP4 files is a random accessible file having a randomaccess unit with the random access point, and a coded stream includessecond control information, the second control information including theplayback time.
 6. A storage apparatus comprising: a memory configured tostore a program; and a processor configured to execute the program andcontrol the storage apparatus to: receive in conformity with MPEG MediaTransport, MMT, a coded stream including a plurality of MP4 files thatare of a media processing unit, MPU, received in conformity with MMTstandard and each of the plurality of MP4 files is a random accessiblefile having a random access unit with a random access point, wherein theplurality of MP4 files include a plurality of MP4 files of a first mediaand a plurality of MP4 files of a second media, and the coded streamfurther includes second control information, the second controlinformation including a playback time corresponding to the random accesspoint of the plurality of MP4 files of the first media and the pluralityof MP4 files of the second media; accumulate and store the plurality ofMP4 files of the coded stream received by the receiver; and generate, byanalyzing the second control information, first control information usedto play back the plurality of MP4 files when the plurality of MP4 filesare stored, the first control information correlating the plurality ofMP4 files of the first media and the plurality of MP4 files of thesecond media according to the playback time, the first controlinformation includes a playback order, playback start times andinformation indicating recording positions in the memory of theplurality of MP4 files stored in the memory.
 7. A playback apparatusthat plays back a plurality of MP4 files stored in a memory, theplayback apparatus comprising: the memory configured to store a program;and a processor configured to execute the program and control theplayback apparatus to: obtain first control information used to playback the plurality of MP4 files, the first control informationcorrelating, out of the plurality of MP4 files, a plurality of MP4 filesof a first media and a plurality of MP4 files of a second mediaaccording to a playback time corresponding to a random access point ofthe plurality of MP4 files of the first media and the plurality of MP4files of the second media, the first control information includes aplayback order, playback start times and information indicatingrecording positions in the memory of the plurality of MP4 files when theplurality of MP4 files are stored in the memory; analyze the obtainedfirst control information obtained; obtain a predetermined MP4 file inthe plurality of MP4 files from the memory according to a result of theanalyzing; and play back the predetermined MP4 file obtained, whereinthe plurality of MP4 files are a media processing unit, MPU, received inconformity with MMT standard, each of the plurality of MP4 files is arandom accessible file having a random access unit with the randomaccess point, and a coded stream includes second control information,the second control information including the playback time.